<?php
/**
 * View_Article
 *
 * Класс View_Article отвечает за вывод информации, связанной со статьями
 *
 * @author Mike
 */
class View_Article {
	

	/**
	 * Отображаем статью
	 *
	 * @param Article $objArticle - объект статьи
	 */
	public static function showArticlePage(Article $objArticle) {
		if($objArticle->getField('text')) {
			echo '<div class="art-text">';
				echo $objArticle->getField('text');
			echo '</div>';
		}
	}
	
	/**
	 * Отображаем информационную статью
	 *
	 * @param Article $objArticle - объект статьи
	 */
	public static function showInfoArticlePage(Article $objArticle) {
			echo '<div class="art-text">';
				echo $objArticle->getField('text');
			echo '</div>';
			echo '<div class="art-date">' . Service_Date::changeDateFormat($objArticle->getField('created_at'), 'Y-m-d H-i-s', 'j r H:i')  . '</div>';
			echo '<div class="art-views">Просмотров: ' . $objArticle->getField('views') . '</div>';
	}
	
	/**
	 * Выводит форму добавления/редактирвоания статьи
	 * 
	 * @param Article $objArticle
	 */
	public static function showEditForm(Article $objArticle) {
		$objForm = new View_Form(array('id' => 'article-edit-form', 'left-width' => 120), $objArticle);
		$objForm->show();
			$objForm->textField(array('name' => 'article_name', 'text' => 'Название'));
			$objForm->checkbox(array('name' => 'no_show_name', 'label' => 'Не показывать название на странице', 'id' => 'no_show_name','is_checked' => $objArticle->getField('no_show_name') ? true : false));
			$objForm->textField(array('name' => 'url', 'text' => 'URL'));
			$objForm->textField(array('name' => 'title', 'text' => 'Title'));
			$objForm->textField(array('name' => 'description', 'text' => 'Meta description'));
			$objForm->textField(array('name' => 'keywords', 'text' => 'Meta kewords'));
			
			$pageType = $objArticle->getField('essence_type');
			echo '<h2>Тип страницы</h2>';
			$objForm->radio(array('name' => 'essence_type', 'id' => 'is_page', 'value' => 1, 'label' => 'Страница', 'is_checked' => $pageType == 1 ? true : false));
			$objForm->radio(array('name' => 'essence_type', 'id' => 'is_article', 'value' => 2, 'label' => 'Статья', 'is_checked' => $pageType == 2 ? true : false));
			$objForm->radio(array('name' => 'essence_type', 'id' => 'is_news', 'value' => 3, 'label' => 'Новость', 'is_checked' => $pageType == 3 ? true : false));
			
			$objForm->textArea(array('name' => 'text', 'id' => 'text', 'text' => 'Текст'));
			echo '<script type="text/javascript">CKEDITOR.replace(\'text\');</script>';
			$objForm->hiddenField(array('name' => 'ID_article'));
			$objForm->submit();
		$objForm->close();
	}
	
	
	
	/**
	 * Выводим формы для конкретных статей 
	 * 
	 * @param string $url - URL статьи
	 * @pararm Data $objData - объект данных формы
	 */
	public static function showArticleForms($url, Data $objData) {
		switch ($url) {
			case 'sizes': self::showSizesTables(); break;
			case 'contacts': self::showContactsForm(); break;
			case 'add_city': self::showAddCityForm($objData); break;
		}
	}
	
	/**
	 * Выводит список статей
	 *
	 * @param array $arrArticles - массив статей
	 */
	public static function showArticlesPage(&$arrArticles) {
		echo '<div class="article-list">';
			if(empty($arrArticles)) echo 'Статей нет';
				echo '<ul>';
					foreach($arrArticles as $arrArticle) {
						echo '<li>';
							echo '<a href="' . W_ABSPATH . 'articles/' . $arrArticle['url'] . '">'  . $arrArticle['article_name'] . '</a>' . 
							(User_Seance::isAdmin() ? ' (<a href="' . W_ADMIN . 'articles/edit/' . $arrArticle['ID_article'] . '">Редактировать</a>)' : '');
						echo '</li>';
					}
				echo '</ul>';
		echo '</div>';
	}
	
	/**
	 * Выводит страницу статей(основные страницы) для админа
	 *
	 * @param array $arrArticles - массив страниц
	 */
	public static function showAdminArticles(&$arrArticles) {
		echo '<div class="admin-list">';
		if(empty($arrArticles)) {
			echo 'Страниц пока нет';
		}
		else {
			foreach($arrArticles as $arrArticle) {
				echo '<div class="item">';
					echo '<a href="' . W_ADMIN . 'articles/edit/' . $arrArticle['ID_article'] . '">'  . $arrArticle['article_name'] . '</a> (/' . $arrArticle['url'] . ')';
				echo '</div>';
			}
		}
		echo '</div>';
	}
	
	/**
	 * Выводит таблицы соответствий размеров
	 */
	public static function showSizesTables() {
		$arrMensSizes = array (
			array(6, 5.5, 38.5, 37.5, 24),
			array(6.5, 6, 39, 38, 24,5),
			array(7, 6, 40, 39, 25),
			array(7.5, 6.5, 40.5, 39.5, 25.5),
			array(8, 7, 41, 40, 26),
			array(8.5, 7.5, 42, 41, 26.5),
			array(9, 8, 42.5, 41.5, 27),
			array(9.5, 8.5, 43, 42, 27.5),
			array(10, 9, 44, 43, 28),
			array(10.5, 9.5, 44.5, 43.5, 28.5),
			array(11, 10, 45, 44, 29),
			array(11.5, 10.5, 45.5, 44.5, 29.5),
			array(12, 11, 46, 45, 30),
			array(12.5, 11.5, 47, 46, 30.5),
			array(13, 12, 47.5, 46.5, 31),
			array(13.5, 12.5, 48, 47, 31.5),
			array(14, 13, 48.5, 47.5, 32),
			array(14.5, 13.5, 49, 48, 32.5),
			array(15, 14, 49.5, 48.5, 33),
			array(15.5, 14.5, 50, 49, 33.5),
			array(16, 15, 50.5, 49.5, 34),
			array(16.5, 15.5, 51, 50, 34.5),
			array(17, 16, 51.5, 50.5, 35),
			array(17.5, 16.5, 52, 51, 35.5),
			array(18, 17, 52.5, 51.5, 36),
			array(18.5, 17.5, 53, 52, 36.5),
			array(19, 18, 53.5, 52.5, 37),
			array(19.5, 18.5, 54, 53, 37.5),
			array(20, 19, 54.5, 53.5, 38),
			array(20.5, 19.5, 55, 54, 38.5),
			array(21, 20, 55.5, 54.5, 39),
			array(21.5, 20.5, 56, 55, 39.5),
			array(22, 21, 56.5, 55.5, 40)
		);
		
		$arrWomensSizes = array (
				array(4, 1.5, 34.5, 33.5, 21),
				array(4.5, 2, 35, 34, 21.5),
				array(5, 2.5, 35.5, 34.5, 22),
				array(5.5, 3, 36, 35, 22.5),
				array(6, 3.5, 36.5, 35.5, 23),
				array(6.5, 4, 37.5, 36.5, 23.5),
				array(7, 4.5, 28, 37, 24),
				array(7.5, 5, 38.5, 37.5, 24.5),
				array(8, 5.5, 39, 38, 25),
				array(8.5, 6, 40, 39, 25.5),
				array(9, 6.5, 40.5, 39.5, 26),
				array(9.5, 7, 41, 40, 26.5),
				array(10, 7.5, 42, 41, 27),
				array(10.5, 8, 42.5, 41.5, 27.5),
				array(11, 8.5, 43, 42, 28),
				array(11.5, 9, 44, 43, 28.5),
				array(12, 9.5, 44.5, 43.5, 29),
				array(12.5, 10, 45, 44, 29.5),
				array(13, 10.5, 45.5, 44.5, 30),
				array(13.5, 11, 46, 45, 30.5),
				array(14, 11.5, 47, 46, 31),
				array(14.5, 12, 47.5, 46.5, 31.5),
				array(15, 12.5, 48, 47, 32),
				array(15.5, 13, 48.5, 47.5, 32.5),
				array(16, 13.5, 49, 48, 33)
		);
		
		echo '<div class="sizes-tabs">';
			echo '<h2>МЕЖДУНАРОДНАЯ РАЗМЕРНАЯ ШКАЛА</h2>';
			echo '<div class="m-size-tab">';
			echo '<h2>МУЖЧИНЫ</h2>';
				echo '<table class="sizes-tab sh-block">';
					echo '<tr class="head">';
						echo '<td>США</td>';
						echo '<td>Великобритания</td>';
						echo '<td>Европа</td>';
						echo '<td>Россия</td>';
						echo '<td>см</td>';
					echo '</tr>';
					foreach($arrMensSizes as $arrSizes) {
						echo '<tr class="size">';
							echo '<td class="colored">' . $arrSizes[0] . '</td>';
							echo '<td>' . $arrSizes[1] . '</td>';
							echo '<td class="colored">' . $arrSizes[2] . '</td>';
							echo '<td>' . $arrSizes[3] . '</td>';
							echo '<td class="colored">' . $arrSizes[4] . '</td>';
						echo '</tr>';
					}
				echo '</table>';
			echo '</div>';
			
			echo '<div class="w-size-tab">';
				echo '<h2>ЖЕНЩИНЫ</h2>';
				echo '<table class="sizes-tab sh-block">';
					echo '<tr class="head">';
						echo '<td>США</td>';
						echo '<td>Великобритания</td>';
						echo '<td>Европа</td>';
						echo '<td>Россия</td>';
						echo '<td>см</td>';
					echo '</tr>';
					foreach($arrWomensSizes as $arrSizes) {
						echo '<tr class="size">';
							echo '<td class="colored">' . $arrSizes[0] . '</td>';
							echo '<td>' . $arrSizes[1] . '</td>';
							echo '<td class="colored">' . $arrSizes[2] . '</td>';
							echo '<td>' . $arrSizes[3] . '</td>';
							echo '<td class="colored">' . $arrSizes[4] . '</td>';
						echo '</tr>';
					}
				echo '</table>';
			echo '</div>';
			
		echo '</div>';	
	}
	
	/**
	 * Выводит форму обратной связи на странице "контакты"
	 */
	public static function showContactsForm() {
		echo '<div class="feedback-form">';
			$objForm = new View_Form(array('id' => 'feedback-form'));
			$objForm->show();
				echo '<div class="field-bl">E-mail</div>';
				$objForm->textField(array('name' => 'e_mail', 'id' => 'e_mail'));
				echo '<div class="field-bl">Текст</div>';
				$objForm->textArea(array('name' => 'text', 'id' => 'text'));
				$objForm->submit(array('class' => 'blue-btn fr'));
			$objForm->close();
		echo '</div>';
	}
	
	public static function showAddCityForm($objData) {
		echo '<div id="add-city" class="edit-wrap envelope">';
			echo '<h1 class="page-head">Добавление города</h1>';
			echo '<div class="art-text">';
				echo '<p>Скорее всего вы попали на эту страницу потому что не нашли свой город в нашей базе. Заполните, пожалуйста, форму ниже и мы обязательно добавим его.</p>';
			echo '</div>';
			$objForm = new View_Form(array('id' => 'to-add-city'), $objData);
			$objForm->show();
				//echo '<div class="edit-item">';
					//echo '<div class="field-bl">E-mail</div>';
				echo '<div class="edit-item">';
					echo '<div class="field field-bl">Название города:</div>';
					$objForm->textField(array('name' => 'c_name', 'id' => 'ci-name'));
				echo '</div>';
				echo '<div class="edit-item">';
					echo '<div class="field field-bl">Область/Регион:</div>';
					$objForm->textField(array('name' => 'r_name', 'id' => 're-name'));
				echo '</div>';
			$objForm->submit(array('class' => 'blue simple-btn right'));
			echo '<div class="clear"></div>';
			$objForm->close();
		echo '</div>';
	}
}
?>